IBIS Macromodel Task Group Meeting date: 04 April 2017 Members (asterisk for those attending): ANSYS: * Dan Dvorscak * Curtis Clark Broadcom (Avago): Xingdong Dai * Bob Miller Cadence Design Systems: * Ambrish Varma Brad Brim Kumar Keshavan Ken Willis eASIC: David Banas Marc Kowalski Ericsson: Anders Ekholm GlobalFoundries: Steve Parker IBM Luis Armenta Trevor Timpane Intel: * Michael Mirmak Keysight Technologies: * Fangyi Rao * Radek Biernacki Ming Yan Maxim Integrated Products: Hassan Rafat Mentor, A Siemens Business: John Angulo * Arpad Muranyi Micron Technology: * Randy Wolff Justin Butterfield QLogic Corp.: James Zhou Andy Joy SiSoft: * Walter Katz Todd Westerhoff * Mike LaBonte Synopsys: Rita Horner Kevin Li Teraspeed Consulting Group: Scott McMorrow Teraspeed Labs: * Bob Ross TI: Alfred Chong The meeting was led by Arpad Muranyi. -------------------------------------------------------------------------------- Opens: - Walter noted that he had emailed the ATM a new Redriver Flow presentation and a new BIRD 166.1 draft. ------------- Review of ARs: - Walter and Radek to work on a draft 4 of BIRD 158.4. - Done. Radek emailed it to ATM list. - Mike L. to post Radek's Feb 28th BIRD 158 draft as BIRD 158.4 draft 3. - Done. - Mike L. to post draft 2 of Walter's Reference_terminal proposal. - Done. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: - Arpad: Does anyone have any comments or corrections? [none] - Walter: Motion to approve the minutes. - Bob R.: Second. - Arpad: Anyone opposed? [none] ------------- New Discussion: New Redriver Flow BIRD: - Walter: [sharing his BIRD 166 Redriver Flow presentation] - Summary of Issues: - Current Statistical Flow for Redrivers (IBIS 6.1): - The IR of channel 2 is computed and passed to Tx2's Init(). The output of Tx2's Init() is then passed to Rx2's Init(). The output of Rx2's Init() is then convolved with the output of Rx1's Init() to get the IR that represents the system. The flaw in this flow is the input to Rx2's Init() should also have contained the upstream channel info (output of Rx1) so that Rx2 could optimize itself properly. The convolution with the output of Rx1 should have happened prior to calling Rx2's Init() function, not after. - Walter's original BIRD 166 proposal: - The output of Tx2's Init() is convolved with the output of Rx1's Init(), and the result is passed to Rx2's Init(). The output of Rx2's Init() then represents the entire system. This flow still had issues if the Tx2 Init() needed to optimize itself. - Walter's new BIRD 166.1 proposal: - The IR of channel 2 is convolved with the output of Rx1's Init(). The result is then passed to Tx2's Init(), so Tx2 is aware of all the channel information it needs to optimize itself. The output of Tx2's Init() is passed to Rx2's Init(), and the output of Rx2's Init() represents the system. - Discussion: Walter noted that currently redriver Tx2s rarely if ever optimize themselves. However, the new flow allowed that possibility and was actually simpler than the original BIRD 166 flow. The new flow meant there was no need for the "Tx_Init_Optimizes" parameter that had been proposed in BIRD166, because a Tx2 that optimized itself was handled with the new flow. Fangyi noted that this proposed flow was limited to a special case. It only handled pure statistical flow (every device has an AMI_Init() that returns an impulse). Mixtures of GetWave() only models in this flow could fall back to the known issues with relying on deconvolution, which doesn't work properly with DFE involved. In addition, even for a pure statistical flow, crosstalk could not be handled. This flow did not produce the IR representing the path from Rx1 to Rx2, so crosstalk that coupled into Rx1 could not be properly propagated to Rx2. Walter agreed with Fangyi's statements, and noted that his goal with BIRD166.1 was to take a first step and address the existing flow error contained in IBIS 6.1 for a pure statistical flow. Walter noted that he supported Fangyi's proposal for adding additional IRs to the IR matrix passed through the Init() functions, and that these enhancements were necessary to handle crosstalk and mixed mode (Init() and GetWave() devices) flow. Ambrish said he thought Walter's BIRD was a first step. Arpad noted that he wanted to ensure that BIRD 166.1 was written in such a way that it was an incremental step and would not contain anything that had to be rescinded once the enhancements came along. Radek and Fangyi thought BIRD 166.1 only handled a special case and might conflict with future enhancement proposals. Walter disagreed and thought BIRD 166.1 would address the current flaw in the spec and would be a prerequisite for the future enhancements. Ambrish noted that BIRD 166.1 addressed the flow, and future enhancements would change the IR matrix but not necessarily the flow. - Arpad: Are we ready to decide on this today? - Do we need to think about it? - Can we include BIRD 166.1 in this version of the spec and address Fangyi's proposed changes later? - Walter: I suggest we think about it, discuss it again next week, and then I plan to make a motion on whether to recommend BIRD 166.1. - Bob R.: I agree. I will have some questions and would like to review Fangyi's proposal to see how it coordinates with BIRD 166.1. - Mike L.: Motion to adjourn. - Curtis: Second. - Arpad: Thank you all for joining. AR: Mike L. to post Walter's BIRD 166.1 proposal and presentation. ------------- Next meeting: 11 April 2017 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives